/*
 * Copyright (c) 2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Autogenerated file -- DO NOT EDIT!

% Es2pandaLibApi::ast_nodes&.each do |ast_node|
% if ast_node != "AstNode" && ast_node != "TypeNode"
    Is<%= ast_node %>,
% end
% end

% Es2pandaLibApi::scopes&.each do |scope|
% if scope != "Scope"
    ScopeIs<%= scope %>,
% end
% end

% Es2pandaLibApi::ast_types&.each do |type|
% if type != "Type"
    TypeIs<%= type %>,
% end
% end

% Es2pandaLibApi::ast_variables&.each do |variable|
% if variable[1] != "Variable"
    VariableIs<%= variable[1] %>,
% end
% end

    AstNodeName,

% Es2pandaLibApi::classes&.each do |namespaceName, namespaceClasses|
% namespaceClasses&.each do |className, classData|
% classData.class_constructors&.each_with_index do |constructor, index|
    Create<%= className + constructor["overload"] %>,
% if classData.updater_allowed()
    Update<%= className + constructor["overload"] %>,
% end
% end

% classData.class_methods&.each_with_index do |method_info, index|
    <%= className + method_info["overload_name"] %>,
% end
% end
% end

% Es2pandaLibApi::structs&.each do |structName, structData|
% structData.struct_getters&.each_with_index do |method_info, index|
    <%= structName + method_info["name"] %>,
% end
% end
